package ProyectoX;

public abstract class Planta extends Entidad {

	// Atributos

	protected int vida;
	protected static int cadencia = 1000;
	protected boolean siendoAtacado;
	protected boolean ataca;

	// Contructor


	protected Planta(String nombre, int posX, int posY, Juego miJuego, int vida) {
		super(nombre, posX, posY, miJuego);
		this.vida = vida;
		siendoAtacado = false;
		ataca = false;
		agregar();

	}

	// Metodos

	public void colisionarCon(Zombie z){
		serAtacado(z);
	}
	
	public void serAtacado(Zombie z) {
		vida -= z.getAtaque();
		if(vida <= 0)
		{z.moverse();	
		matar();}
		 
	}
	
	public void matar(){
		super.matar();		
		 boolean aux = true;
			while(aux)
				if(!miJuego.borrando())
				{miJuego.borrar(this);
				aux= false;	
				} else
					try {
						sleep(1);
					} catch (InterruptedException e) {
						e.printStackTrace();
					}
			repGrafica.eliminar(miJuego.getVentana().getGraphics());
        
	}
	
	
	//Consulta
	
	public boolean siendoAtacado(){
		return siendoAtacado;
	}
	
	public void ataca(){
		ataca = true;
	}
	
	public void dejarAtacar(){
		ataca = false;
	}
	public boolean atacando(){
		return ataca;
	}
	
	public void agregar(){
		boolean aux = true;
		while(aux)
			if(!miJuego.creando())
			{miJuego.agregar(this);
			aux= false;	
			} else
				try {
					sleep(1);
				} catch (InterruptedException e) {
					e.printStackTrace();
				}
	}
}
